In this specification reference is made to the following publications:
1. Davis A.M.: "A Comparison of Techniques for the Specification of External System Behavior". Communications of the ACM, September 1988, Vol.31, No.9, pp.1098-1115.
2. Clare C.R.: Designing Logic System Using State Machine. McGraw-Hill, 1973.
3. Kohavi Z.: Switching and Finite Automata Theory. McGraw-Hill, 1978.
4. Hatley D.J., Pirbhai I.A.: Strategies for Real-Time System Specification. Dorset House Publishing, New York, 1988.
and to:
U.S. Pat. No. 4,796,179: Multirate Real Time Control System Code Generator. Larry L. Lehman, et al.
The majority of computer control systems require programming for each application. The process of programming is error-prone and requires testing of implemented logic and the correctness of program statements which express this logic. The pure logic of the application is deeply buried in the program code. There is no known way to isolate the logic design from peculiarities of the programming language and its data representation.
An alternative to systems which are programmed are systems which are specified. The advantages of control systems which are specified in comparison to systems which are programmed are well known and summarized e.g. in reference 1 by Davis. As taught in reference U.S. Pat. No. 4,796,179 a control system can be built using subroutines describing standard control blocks. The subroutines are then linked together into the control system. Another approach is based on table driven finite state machines which are specified. This is suitable for systems intended for applications characterized by a high number of control decisions.
As shown in reference 1 by Davis for the table approach, boolean tables grow exponentially with the number of input and states. Because of this well known growth phenomena, a table driven approach has been limited to rather simple applications. Typically, only selected subsystems of a complex system are implemented as table driven finite state machines.
Input signals come to a control system from different analog and digital sensors. The signals are often of different natures: some are digital, others are analog. The digital signals are two-valued (boolean) or multivalued (numbers). The analog signals in their original form are of no use in a digital control system. Only some specific values of an analog signal are relevant for control purposes. A table driven state machine can process digital information only. Therefore, the use of table driven systems was limited to applications where input has a standard boolean form. This view is presented in reference 2 by Clare. Prior approaches were always limited by exponential growth of memory size.